Types for directing the execution of Solana programs.
Every invocation of a Solana program executes a single instruction, as
defined by the [`Instruction`] type. An instruction is primarily a vector of
bytes, the contents of which are program-specific, and not interpreted by
the Solana runtime. This allows flexibility in how programs behave, how they
are controlled by client software, and what data encodings they use.
Besides the instruction data, every account a program may read or write
while executing a given instruction is also included in `Instruction`, as
[`AccountMeta`] values. The runtime uses this information to efficiently
schedule execution of transactions.